Texture mapping lets a color signal be imaged onto geometry, giving the appearance of detail on coarse triangle meshes. Using textures is generally more efficient than refining the carrier geometry to represent the signal per vertex. While rasterization hardware has supported basic texture mapping for many years, it has recently begun to offer more powerful features. Multitexturing lets several textures contribute to a pixel fragment, and shader expression trees combine these textures using complex operations. In particular, the trend is towards more general programmability.
With this increased rasterization functionality, many surface signals other than color can be used to achieve new rendering effects, including bump mapping (where surface normals are the signal), displacement mapping (geometry), irradiance shading (spherical harmonics), and self-shadowing (horizon maps). These techniques provide further motivation to compress signals defined with vertex attributes into textures parametrized over the mesh.
The goal in generating the parametrization should be to minimize the signal approximation error (SAE), i.e., the difference between the reconstructed signal and the original surface signal. However, most surface parametrization schemes to date assume no a priori knowledge of the signal, and instead minimize various geometric distortion measures.
For example, Eck et al. propose the discrete harmonic map, which assigns non-uniform springs to the mesh edges. Duchamp et al. investigate multiresolution solution methods for computing harmonic maps. Floater proposes a similar metric with a different edge-spring weighting that guarantees an embedding for convex boundaries. Haker et al. compute conformal maps onto the sphere. Hormann and Greiner propose the MIPS parametrization, which attempts to preserve the ratio of singular values over the parametrization. All four of these metrics disregard absolute stretch scale over the surface, with the result that small domain areas can map to large regions on the surface.
Maillot et al. base their metric on mesh edge springs of nonzero rest length, where rest length corresponds to edge length on the surface. Lévy and Mallet use a metric that combines orthogonality and isoparametric terms.
Sander et al. focus on making textures as small as possible for an unknown surface signal. Their geometric-stretch metric minimizes undersampling by integrating the sum of squared singular values over the map. Intuitively, this measures how distances in the domain get stretched when mapped onto the surface. Commonly assigned copending U.S. patent application Ser. No. 10/138,751, entitled “Systems and Methods for Optimizing Geometric Stretch of a Parametrization Scheme,” describes various aspects of such a geometric stretch metric.
Thus, most schemes for flattening a surface chart into 2D minimize a geometric distortion metric, which assumes no knowledge of the surface signal. Many of these distortion metrics are tailored for the authoring problem of mapping an existing image onto a surface mesh, rather than the problem of sampling a given surface signal. In any event, there has been relatively little work in exploiting knowledge of the surface signal in optimizing the parametrization.
With respect to sparse existing works in the area of signal-specialized chart parametrization, given an existing parametrization, Sloan et al. warp the square texture domain onto itself to more evenly distribute a scalar importance field. Terzopolous and Vasilescu approximate a 2D image using a warped grid of sample values. The warping is achieved using a dynamic simulation where grid edge weights are set according to local image content. Hunter and Cohen compress an image as a set of texture-mapped rectangles, obtained by k-d tree subdivision of the image based on frequency content.
With respect to the use of multi-chart parametrization, to avoid excessive distortion, an arbitrary mesh is generally parametrized using multiple charts. At the limit, distortion can be driven to zero by making each triangle its own chart. However, partitioning the surface into many charts has drawbacks. Such partitioning constrains mesh simplification, requires more inter-chart gutter space, leads to mipmap artifacts, and fails to exploit continuity across charts. Thus, a balance should be achieved between parametrization distortion and the drawbacks of charts. Several existing approaches, such as Eck et al., Garland et al., Krishnamurthy et al., Maillot et al. and Sander et al., directly partition the original mesh, while other schemes, such as Cignoni et al., Lee et al. and Sander, Gu et al., define the charts using mesh simplification. For an interactive 3D painting system, for example, Igarashi and Cosgrove construct charts based on the history of drawing operations. The texture resolution on a surface region is selected using the viewing resolution at the time the region was last painted.
However, each of the previously existing parametrization techniques suffer drawbacks relating to minimizing the difference between the reconstructed signal and the original surface signal, even where the signal is taken into account. The geometric approaches of Sloan et al., Terzopolous and Vasilescu, and Hunter and Cohen are inadequate because they do not take the surface geometry into account, fail to adequately capture information about signal directionality, which allows the parametrization to squash in the direction across the signal gradient and/or restrict the chart boundary to be a square. Moreover, these prior art approaches do not provide continuous solutions that adequately adapt to high frequencies along diagonal directions. Even where prior art techniques consider the signal in some respect, these techniques do not scale the charts based on this content. Thus, there is a need for improved parametrization in a computing system optimized in accordance with a surface signal metric for efficient and accurate parametrization and graphics reconstruction processes.